/*
 * templatetypes.h
 *
 *  Created on: Oct 27, 2009
 *      Author: price
 */

#ifndef TEMPLATETYPES_H_
#define TEMPLATETYPES_H_

#define PURE = 0

#define MAP_UTF8_DEFAULT_KEY std::string("DEFAULT_UTF8_KEY")
#define MAP_UNICODE_DEFAULT_KEY std::wstring(L"DEFAULT_UNICODE_KEY")

typedef bool tbool;
typedef char* utf8Ptr;
typedef char utf8c;
typedef wchar_t* unicodePtr;
typedef wchar_t unicodec;
typedef char int8;
typedef unsigned char uint8;
typedef short int16;
typedef unsigned short uint16;
typedef long int32;
typedef unsigned long uint32;
typedef long long int64;
typedef unsigned long long uint64;
typedef float float32;
typedef double float64;

#ifdef WIN32
#define snprintf _snprintf
#define PRINTF_INT64_MODIFIER "%I64u"
#define WPRINTF_INT64_MODIFIER L"%I64u"
#else
#define PRINTF_INT64_MODIFIER "%llu"
#define WPRINTF_INT64_MODIFIER L"%llu"
#endif


#endif /* TEMPLATETYPES_H_ */
